home *** CD-ROM | disk | FTP | other *** search
- ;****h* Beast/BeastConstants ************************************************
- ;*
- ;* NAME
- ;* BeastConstants -- Constants definition for BEAST. (v0.1)
- ;*
- ;* COPYRIGHT
- ;* Maverick Software Development
- ;*
- ;* FUNCTION
- ;*
- ;* AUTHOR
- ;* Jacco van Weert
- ;*
- ;* CREATION DATE
- ;* 23-Apr-95
- ;*
- ;* MODIFICATION HISTORY
- ;*
- ;* NOTES
- ;*
- ;****************************************************************************
-
- IFND UTILITY_TAGITEM_I
- INCLUDE "utility/tagitem.i"
- ENDC
- IFND UTILITY_HOOKS_I
- INCLUDE "utility/hooks.i"
- ENDC
-
- ;****** BeastConstants/BSTC_Root ********************************************
- ;*
- ;* NAME
- ;* BSTC_Root -- Root class. (v0.1)
- ;*
- ;****************************************************************************
- rsreset
- BSTC_Root: rs.b LN_SIZE
- BSTC_Size: rs.l 1 ;* Size of the total Class.
- BSTC_InputPorts: rs.b MLH_SIZE
- BSTC_OutputPorts: rs.b MLH_SIZE
- BSTC_Methods: rs.b MLH_SIZE ;* List of supported methods (CLSS_MLxx)
- BSTC_ObjectCount: rs.l 1 ;* How many objects created of this class?
- BSTC_ExtClass: rs.l 1 ;* Pointer to ExtClass library
- BSTC_UserData: rs.l 1
- BSTC_RootSIZE: rs.w 0
-
- ;****** BeastConstants/CLSS_MethodList **************************************
- ;*
- ;* NAME
- ;* CLSS_MethodList -- List of methods. (v0.1)
- ;*
- ;****************************************************************************
- rsreset
- CLSS_MethodList: rs.b MLN_SIZE
- CLSS_MLMethodID: rs.l 1 ;* Method ID
- CLSS_MLHookList: rs.b MLH_SIZE ;* List of method calls
- CLSS_MethodListSIZE: rs.w 0
-
-
- ;****** BeastConstants/ML_Hook **********************************************
- ;*
- ;* NAME
- ;* ML_Hook -- Method hook. (v0.1)
- ;*
- ;****************************************************************************
- rsreset
- ML_Hook: rs.b h_SIZEOF
- ML_HookSIZE: rs.w 0
-
- ;****** BeastConstants/BSTO_System ******************************************
- ;*
- ;* NAME
- ;* BSTO_System -- Standard Object. (v0.1)
- ;*
- ;****************************************************************************
- rsreset
- OBJ_BSTObject: rs.b MLN_SIZE
- OBJ_DataSection: rs.l 1 ;* Pointer to the data section (WILL NOT CHANGE)
- OBJ_InputList: rs.b MLH_SIZE ;* Pointer a list of inputs
- OBJ_OutputList: rs.b MLH_SIZE ;* Pointer a list of outputs
- OBJ_Class: rs.l 1 ;* ^ObjectClass
- OBJ_Parent: rs.l 1 ;* Parent-Object
- OBJ_Childs: rs.b MLH_SIZE ;* Childs-Objects
- OBJ_Flags: rs.l 1 ;* Object-Flags
- OBJ_SystemSIZE: rs.w 0
-
- BITDEF OBJ,Dispose,0 ;* The object must be disposed
- BITDEF OBJ,Skip,1 ;* This object will be skipped in the method calls
- BITDEF OBJ,SubClass,2 ;* Object is an integral part of another object.
-
- ;****** BeastConstants/OBJ_InputOutput **************************************
- ;*
- ;* NAME
- ;* OBJ_InputOutput -- (v0.1)
- ;*
- ;****************************************************************************
-
- ; **********************************
- ; **** OIL ObjectInputLink structure
- rsreset
- OIL_Connection: rs.b MLN_SIZE ;* OIL = Object Input Link
- OIL_Object: rs.l 1 ;* Pointer to *this* object
- OIL_FromMethodOOL: rs.l 1 ;* Pointer to the connected input OOL structure
- OIL_InputMethod: rs.l 1 ;* The input method ID
- OIL_ConnectionSIZE: rs.w 0
-
- ; ***********************************
- ; **** OOL ObjectOutputLink structure
- rsreset
- OOL_Connection: rs.b MLN_SIZE ;* OOL = Object Output Link
- OOL_Object: rs.l 1 ;* Pointer to *this* object
- OOL_ToMethodOIL: rs.l 1 ;* Pointer to the connected output OIL structure
- OOL_OutputMethod: rs.l 1 ;* The output method ID
- OOL_ConnectionSIZE: rs.w 0
-
-
- ; **********************************************
- ; **** CIL ClassInputLink structure OBSOLETE!!!!
- rsreset
- CIL_Input: rs.b MLN_SIZE
- CIL_InputMethod: rs.l 1
- CIL_InputPortname: rs.l 1
- CIL_InputSIZE: rs.w 0
-
- ; ***********************************************
- ; **** COL ClassOutputLink structure OBSOLETE!!!!
- rsreset
- COL_Output: rs.b MLN_SIZE
- COL_OutputMethod: rs.l 1
- COL_OutputPortname: rs.l 1
- COL_OutputSIZE: rs.w 0
-
-
-
-
- ;****** BeastConstants/BST_Base *********************************************
- ;*
- ;* NAME
- ;* BST_Base -- Base structure. (v0.1)
- ;*
- ;****************************************************************************
- rsreset
- BST_Base: rs.b OBJ_SystemSIZE
- BST_DefinedClasses: rs.b MLH_SIZE
- BST_BaseSIZE: rs.w 0
-
- ;****** BeastConstants/BST_StandardMethods **********************************
- ;*
- ;* NAME
- ;* BST_StandardMethods -- Standard methods. (v0.1)
- ;*
- ;* RESULT
- ;*
- ;****************************************************************************
-
- OBM_bits_FUNCTION =$F0000000
- OBM_type_None =$00000000
-
- OBM_bits_FAMILY =$0F000000
- OBM_type_Plain =$00000000
- OBM_type_System =$01000000
- OBM_type_General =$02000000
- OBM_type_B52 =$03000000
- OBM_type_BeaVis =$04000000
- OBM_type_BFS =$05000000
- OBM_type_BeaMM =$06000000
- OBM_type_BEASTAR =$07000000
-
-
- ; /**** Numbers $0000040 - $000007f Free */
- OBM_local0 =$0000040
- ; /**** Numbers $0000100 - $00007ff Free */
- OBM_local1 =$0000100
- ; /**** Numbers $0004000 - $0004fff Free */
- OBM_local2 =$0004000
- ; /**** Numbers $0100000 - $01fffff Free */
- OBM_local3 =$0100000
-
- OBM_INPUT =$0000080
- OBM_OUTPUT =$0000081
- OBM_INPUT2 =$0000082
- OBM_OUTPUT2 =$0000083
- OBM_INPUT3 =$0000084
- OBM_OUTPUT3 =$0000085
- OBM_INPUT4 =$0000086
- OBM_OUTPUT4 =$0000087
- OBM_SYSINPUT =$0000088
- OBM_SYSOUTPUT =$0000089
- OBM_IDCMPINPUT =$000008A
- OBM_IDCMPOUTPUT =$000008B
- OBM_BVSINPUT =$000008C
- OBM_BVSOUTPUT =$000008D
- OBM_BEAMMINPUT =$000008E
- OBM_BEAMMOUTPUT =$000008F
- OBM_BFSINPUT =$0000090
- OBM_BFSOUTPUT =$0000091
-
- OBM_ALLOCMEM =$0000100
- OBM_FREEMEM =$0000101
- OBM_LOCKMEM =$0000102
- OBM_UNLOCKMEM =$0000103
-
- OBM_GETATTR =$0001000
- OBM_SETATTR =$0001001
-
- OBM_INIT =$0040000
- OBM_DISPOSE =$0040001
-
- ;**********************************
- ;**** Beast General classes methods
- ;****
- OBM_GETEACH =$0000000+OBM_type_System
- OBM_FOREACH =$0000001+OBM_type_System
-
-
-
- BST_bits_System =$7F000000
- BST_TAG =TAG_USER+$40000000
-
- BITDEF BT,Ignore,29
- BITDEF BT,Attributes,28
- BITDEF BT,UserTag,27
-
- BST_bits_Types =$00F00000
- BTA_type_Plain =$00000000
- BTA_type_CString =$00100000
- BTA_type_Object =$00200000
- BTA_type_Pointer =$00300000
-
- ;************
- ;**** Control
- ;****/
- BTA_CONTROL =BST_TAG+BTF_Attributes+$000
- BTA_NumberOf =BTA_CONTROL+$01
-
- ;*************
- ;**** Position
- ;****/
- BTA_POSITION =BST_TAG+BTF_Attributes+$100
- BTA_X =BTA_POSITION+$00+BTA_type_Plain
- BTA_Y =BTA_POSITION+$01+BTA_type_Plain
- BTA_Width =BTA_POSITION+$02+BTA_type_Plain
- BTA_Height =BTA_POSITION+$03+BTA_type_Plain
- BTA_Size =BTA_POSITION+$04+BTA_type_Plain
-
- ;**********
- ;**** Types
- ;****/
- BTA_TYPES =BST_TAG+BTF_Attributes+$200
- BTA_LongNumber =BTA_TYPES+$00
-
- ;**********
- ;****
- BTA_IDENTIFIER =BST_TAG+BTF_Attributes+$300
- BTA_Title =BTA_IDENTIFIER+$00+BTA_type_CString
- BTA_MainObject =BTA_IDENTIFIER+$01+BTA_type_Object
- BTA_Object1 =BTA_IDENTIFIER+$02+BTA_type_Object
- BTA_Object2 =BTA_IDENTIFIER+$03+BTA_type_Object
- BTA_Object3 =BTA_IDENTIFIER+$04+BTA_type_Object
- BTA_Object4 =BTA_IDENTIFIER+$05+BTA_type_Object
- BTA_Object5 =BTA_IDENTIFIER+$06+BTA_type_Object
- BTA_Object6 =BTA_IDENTIFIER+$07+BTA_type_Object
- BTA_Object7 =BTA_IDENTIFIER+$08+BTA_type_Object
- BTA_Object8 =BTA_IDENTIFIER+$09+BTA_type_Object
- BTA_Object9 =BTA_IDENTIFIER+$0A+BTA_type_Object
- BTA_Method =BTA_IDENTIFIER+$0B+BTA_type_Plain
- BFS_UserName =BTA_IDENTIFIER+$0C+BTA_type_CString
-
- ;***********
- ;**** SYSTEM
- ;****
- BTA_SYSTEM =BST_TAG+BTF_Attributes+$400
- BTA_MemBlock =BTA_SYSTEM+$00+BTA_type_Pointer
- BTA_MemHandle =BTA_SYSTEM+$01+BTA_type_Pointer
- BTA_MemFlags =BTA_SYSTEM+$02+BTA_type_Plain
- BITDEF MEM,MOVEABLE,25
- BITDEF MEM,DISCARDABLE,26
-
- ;**********************************************
- ;**** Method Flags for the OBJ_DoMethod routine
- ;****/
- BITDEF MTH,DOCHILDREN,0
- BITDEF MTH,DOPARENTS,1
- BITDEF MTH,DISPOSED,2 ;/* INTERNAL: Somewhere an object must be disposed */
- BITDEF MTH,EVENTDISPOSE,3 ;/* INTERNAL: MUST be used in combination with the MTHF_DISPOSED
- ; flag, now *also* the eventobject will be disposed. */
- BITDEF MTH,PASSTOCHILD,4
- BITDEF MTH,ERROR,6
- BITDEF MTH,FATALERROR,7
- BITDEF MTH,BREAK,8
-
- MTHF_B52_bits =$0000F000 ;/* Methodflags used by B52 */
-
-
- ;****** BeastConstants/BST_macros *******************************************
- ;*
- ;* NAME
- ;* BST_macros -- (v0.1)
- ;*
- ;****************************************************************************
-
- OBJ_m_DoMethod MACRO ; Object, MethodID, TagList, MethodFlags
- moveq #\4,d3
- move.l \1,a0
- move.l #\2,d0
- move.l \3,a1
- CALLBEAST OBJ_DoMethod
- ENDM
-
-